web3.js@0.2x.x Contract allEvents
var events = myContractInstance.allEvents([additionalFilterObject])
コントラクトによって作成されたすべてのイベントを監視します。
パラメータ
1. Object
追加のフィルタオプション
デフォルトでは、フィルタオブジェクトはコントラクトアドレスをセットする address フィールドを持ちます。
このメソッドでは、topic にイベントのシグネチャをセットし、追加のトピックはサポートしていません。
2. Function
オプショナル
コールバック関数を渡した場合は、即座にイベントの監視を始めるので、myEvent.watch(function(){}) を呼ぶ必要はありません。
コールバックの戻り値
Object
イベントオブジェクト
使用方法
code:ContractAllEvents.js
// watch for changes
events.watch(function(error, event){
if (!error)
console.log(event);
});
// Or pass a callback to start watching immediately
if (!error)
console.log(log);
});
サンプルコード
code:example.js
var MyContract = web3.eth.contract(abi);
var myContractInstance = MyContract.at('0x78e97bcc5b5dd9ed228fed7a4887c0d7287344a9');
// watch for an event with {some: 'args'}
var events = myContractInstance.allEvents({fromBlock: 0, toBlock: 'latest'});
events.watch(function(error, result){
...
});
// would get all past logs again.
events.get(function(error, logs){ ... });
...
// would stop and uninstall the filter
events.stopWatching();
参考